-- Roblox 抓取 Trade 文件夹下所有远程事件调用参数脚本（含递归 table 展示）
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TradeFolder = ReplicatedStorage:WaitForChild("Trade")

-- 用于递归打印 table 参数
local function printTable(tbl, indent)
    indent = indent or 0
    local prefix = string.rep("  ", indent)
    for k, v in pairs(tbl) do
        if type(v) == "table" then
            print(prefix .. tostring(k) .. ": (table)")
            printTable(v, indent + 1)
        else
            print(prefix .. tostring(k) .. ": " .. tostring(v))
        end
    end
end

-- 打印所有远程对象信息
print("=== [抓包初始化] Trade 文件夹远程调用列表 ===")
for _, child in ipairs(TradeFolder:GetChildren()) do
    if child:IsA("RemoteEvent") or child:IsA("RemoteFunction") then
        print(string.format("- 对象名称：%s，类型：%s", child.Name, child.ClassName))
    end
end

-- 开始监听所有 RemoteEvent
print("\n=== [抓包开始] 开始监听交易事件 ===")
for _, remote in ipairs(TradeFolder:GetChildren()) do
    if remote:IsA("RemoteEvent") then
        remote.OnClientEvent:Connect(function(...)
            print("\n[事件触发] " .. remote.Name)
            local args = {...}
            for i, arg in ipairs(args) do
                if type(arg) == "table" then
                    print(string.format("参数%d: (table)", i))
                    printTable(arg, 1)
                else
                    print(string.format("参数%d: %s", i, tostring(arg)))
                end
            end
        end)
    end
end

print("[监听器] 交易远程事件监听已启动，请开始交易流程以捕获数据。")
